The speed of many computer operations is frequently constrained by the speed and efficiency with which data can be stored and retrieved from memory. Many computing systems run operating systems that divide memory into kernel space, for managing operating system functions, and user space, for managing application software. When a storage engine for memory management is implemented in user space, the user space storage engine typically must communicate with a memory management system in kernel space to carry out memory operations. As a result of communications between the user space storage engine and memory management in kernel space, multiple copies of data contained in a memory request may be made as the memory request travels from user space to kernel space and from kernel space to user space. For example, I/O operations performed using a user space memory management system such as Filesystem in Userspace (FUSE) involve copying data (e.g., data to be stored in memory) from user space to kernel space, copying the data from a kernel component of FUSE to a user space storage engine of FUSE, and copying the data from user space to kernel space so that a driver of the kernel can perform I/O on a physical memory device. Reduction in the copying of data between user space and kernel space is desirable for more efficient memory operations.